package com.wei.czz.framework.blog.service;

import com.wei.czz.common.po.blog.audit.groupUser.BlogAuditGroupUserPo;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.blog.audit.groupUser.BlogAuditGroupUserFormVo;
import com.wei.czz.framework.blog.entity.BlogAuditGroupUserEntity;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2024-12-05 08:22:00
 * className: BlogAuditGroupUserService
 * version: 1.0
 * description:
 */
public interface BlogAuditGroupUserService {

    /**
     * 批量保存博客审核分组用户操作
     * @param blogAuditGroupUserList 博客审核分组用户列表
     */
    void batchSave(List<BlogAuditGroupUserEntity> blogAuditGroupUserList);

    /**
     * 分页获取博客审核分组用户操作
     * @param formVo 参数对象
     * @return 博客审核分组用户分页对象
     */
    PageDto<BlogAuditGroupUserPo> getPageList(BlogAuditGroupUserFormVo formVo);

    /**
     * 获取博客审核分组用户操作
     * @param groupIdList 分组主键列表
     * @return 博客审核分组用户列表
     */
    List<BlogAuditGroupUserEntity> findList(List<Long> groupIdList);

    /**
     * 获取可用的博客审核分组用户操作
     * @param groupId 分组主键
     * @return 博客审核分组用户列表
     */
    List<BlogAuditGroupUserPo> findEffectList(Long groupId);

    /**
     * 获取所有博客审核分组用户操作
     * @return 博客审核分组用户列表
     */
    List<BlogAuditGroupUserEntity> getList();

    /**
     * 删除博客审核分组用户操作
     * @param idList      主键列表
     * @param groupIdList 分组主键列表
     */
    void delete(List<Long> idList, List<Long> groupIdList);

    /**
     * 批量修改博客审核分组用户操作
     * @param blogAuditGroupUserList 博客审核分组用户列表
     */
    void batchUpdate(List<BlogAuditGroupUserEntity> blogAuditGroupUserList);

}

